package com.pig.goods.service;


import com.pig.pojo.commgoods.Goods;
import com.pig.pojo.commgoods.PageObject;

import java.util.List;
import java.util.Map;

public interface GoodsService {
    static final Integer pageSize = 15;

    /**
     * 根据title查询商品，如果title为null则查询所有
     * @param title
     * @param status        查询全部填写 0 查询开启为1
     * @param categoryId    如果有则为具体目录id，不分类则为-1
     * @param pageCurrent
     * @return
     */
   PageObject<Goods> findGoodsByTitle(String title, Integer status, Integer categoryId, Integer pageCurrent);

    /**
     * 查询具体的商品信息
     * 适用在点击显示具体的商品信息与商品的修改
     * @param goodsId
     * @return
     */
    List<Map<String, Object>> findGoodsById(Integer goodsId);

    /**
     * 商品的更新操作，同时修改商品的状态
     * @param goods
     * @param status
     * @return
     */
    int updateGoods(Goods goods, Integer status);

    /**
     * 新添加商品操作
     * @param goods
     * @return
     */
    int insertGoods(Goods goods);

    /**
     * 修改商品的状态
     * @param goodsId
     * @param status
     * @return
     */
    int setGoodsStatus(Integer goodsId, Integer status);

    /**
     * 根据目录id查询所有启用的商品信息
     * @param categoryId
     * @return
     */
    List<Goods> findGoodsByCategoryId(Integer categoryId);

    PageObject findGoodsPages(String title, Integer pageCurrent);

    void delGoods(Integer goodsId);
}
